Espressif Systems /ESP32-S2 /I2C0 /SR

Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text

Interpret as SR

31 2827 2423 2019 1615 1211 87 43 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (RESP_REC)RESP_REC 0 (SLAVE_RW)SLAVE_RW 0 (TIME_OUT)TIME_OUT 0 (ARB_LOST)ARB_LOST 0 (BUS_BUSY)BUS_BUSY 0 (SLAVE_ADDRESSED)SLAVE_ADDRESSED 0 (BYTE_TRANS)BYTE_TRANS 0RXFIFO_CNT0STRETCH_CAUSE 0TXFIFO_CNT0SCL_MAIN_STATE_LAST 0SCL_STATE_LAST

Description

Describe I2C work status

Fields

RESP_REC

The received ACK value in master mode or slave mode. 0: ACK. 1: NACK.

SLAVE_RW

When in slave mode, 1: master reads from slave. 0: master writes to slave.

TIME_OUT

When the I2C controller takes more than I2C_TIME_OUT clocks to receive a data bit, this field changes to 1.

ARB_LOST

When the I2C controller loses control of SCL line, this register changes to 1.

BUS_BUSY

1: the I2C bus is busy transferring data. 0: the I2C bus is in idle state.

SLAVE_ADDRESSED

When configured as an I2C Slave, and the address sent by the master is equal to the address of the slave, then this bit will be of high level.

BYTE_TRANS

This field changes to 1 when one byte is transferred.

RXFIFO_CNT

This field represents the amount of data needed to be sent.

STRETCH_CAUSE

The cause of stretching SCL low in slave mode. 0: stretching SCL low at the beginning of I2C read data state. 1: stretching SCL low when I2C TX FIFO is empty in slave mode. 2: stretching SCL low when I2C RX FIFO is full in slave mode.

TXFIFO_CNT

This field stores the amount of received data in RAM.

SCL_MAIN_STATE_LAST

This field indicates the states of the I2C module state machine.

0: Idle. 1: Address shift. 2: ACK address. 3: RX data. 4: TX data. 5: Send ACK. 6: Wait ACK

SCL_STATE_LAST

This field indicates the states of the state machine used to produce SCL.

0: Idle. 1: Start. 2: Negative edge. 3: Low. 4: Positive edge. 5: High. 6: Stop

Links

() ()